1. The Field of the Invention
The present invention relates generally to digital processing. More specifically the present invention relates to improved adaptive filtering techniques and architectures as part of that digital processing.
2. The Relevant Technology
Digital processing, and more particularly digital signal processing, is the practice of representing signals with a sequence of numbers and then processing those numbers digitally--often via software--to effect changes to the signal or to extract information from the signal. To a lesser extent, digital processing also creates signals by calculating a sequence of numbers representative of a desired signal waveform.
Some advantages of processing signals in this manner include: consistency, because software does not require tuning as it does not age with time or vary according to temperature; flexibility, because changes to software are more easily implemented than with discrete components; and adaptability, because of the unique nature of software to adapt itself to an incoming signal.
In general, a digital signal processor (DSP) architecture includes an analog-to-digital convertor supplying a digital representation of an input signal to a processor and a digital-to-analog convertor for reconstructing the digital signal back into an analog signal after processing. The digital representation of the input signal is generally a sequence of numbers constructed from discrete time "samples."
Processing of the digital representation of the input signal by the processor is performed largely by one of three functions, addition, multiplication or delay. Addition and multiplication are generally mathematical functions, whereas delay is generally the processing of a previous sample. All are well known in the art.
Within the processor, as part of the DSP architecture, are digital filters that change the relative amplitudes of various frequency components of the digital signal or eliminate some frequency components entirely. Many filter types exist. Some are adaptive while others are fixed. Yet, most are characterized according to whether their impulse response is finite (FIR) or infinite (IIR). Each has advantages and disadvantages over the other. In general, two design considerations are implicated. They are: (i) how many filter elements or taps are required to achieve a desired frequency response; and (ii) what are the proper coefficient values needed in doing so? FIR filters typically estimate the number of taps needed and then redesign the filter if the taps are too few or too many. IIR filters, on the other hand, usually have fewer taps in comparison to a FIR filter.
With either filter design, the least-means-squares (LMS) algorithm is one of the most widely used methods for achieving an optimized filter design. This algorithm, and its delay counterpart, the delayed LMS (DLMS), are representative of the following discussion. It should be appreciated, however, that other algorithm and methods are also equally applicable.
In general, conventional LMS and DLMS adaptive filters utilize either serial or parallel style architectures. In serial architectures, the digital representation of the input signal, or digital signal, that is being processed is serially passed into and out of the filter. As for engineering considerations, such as pin count and speed of processing the digital signal, the pin count is advantageously low while the speed of processing is disadvantageously slow. Thus, this architecture is not suitable for many high-speed/precision uses.
In contrast, parallel architectures pass the digital signal into and out of the filter in a parallel manner. Thus, the speed of processing is fast but the pin count is high. As such, this architecture is input/output (I/O) bound.
Regardless of whether the architecture is serial or parallel in nature, conventional D/LMS adaptive filters contain numerous filter elements, such as adders, multipliers, etc., for performing the functions of addition, multiplication and delay. During manufacturing, this leads to high economic costs in time and labor. Also, since these elements require large amounts of physical space, silicon costs are high.
Accordingly, it would be an advance to provide improved adaptive filters having the advantages of both serial and parallel architectures without having the disadvantages thereof. In particular, it would advance the present state of the art to have adaptive filters with low pin counts, fast processing times, suitable for high-speed applications, and reduced numbers of filter elements.